﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using GestionCases;

namespace GestionEco
{
    public abstract class Herbivore : Animal
    {

        public Herbivore(int uneAttaque, int uneEsquive, int desDegats, int uneVue, int uneRegen, int uneFaimMax, int unCoeffFaim, int uneVieMax, int uneSoifMax, int unCoeffSoif, int desPointsActionActuels, int unAgeMax, int uneMajorite, int unNbTourReprod, string unSexe, Color uneCouleur)
            :base(uneAttaque, uneEsquive, desDegats, uneVue, uneRegen, uneFaimMax, unCoeffFaim, uneVieMax, uneSoifMax, unCoeffSoif, desPointsActionActuels, unAgeMax, uneMajorite, unNbTourReprod, unSexe, uneCouleur)
        {

            

        }

        public override void afficher()
        {
            Console.WriteLine("je suis un herbivore");
        }

        public override void seDeplacer()
        {
            base.seDeplacer();
        }

        public override void seRegenerer()
        {
            base.seRegenerer();
        }

        public override void vieillir()
        {
            base.vieillir();
        }

        public override void seNourrir(Vegetal unePlante)
        {
            base.seNourrir();

            this.FaimActuelle += unePlante.VieActuelle;

            //si la plante a plus de vie que la faim max ou si la faim actuelle depasse la faim max
            if ((unePlante.VieActuelle >= this.FaimMax) || (this.FaimActuelle > this.FaimMax))
            {
                this.FaimActuelle = this.FaimMax;
            }         
        }

        public override void boire(Case uneCase)
        {
            base.boire(uneCase);
        }

        public override void seReproduire()
        {
            base.seReproduire();
        }
    }
}
